"""
容器的公共运算符
    概述：
        到现在为止，我们已经学过五种容器
        1. str    字符串    不可变容器
        2. list   列表      可变容器
        3. tuple  元组      不可变容器
        4. dict   字典      可变容器， key唯一
        5. set    集合      唯一，无序
    总结：
        五种容器有一些公用的 运算符 和 函数 ，
    公共的运算符
        +  表示合并（拼接） 可以用于： 字符串 列表， 元组
        *  表示复制， 可以用于： 字符串，列表， 元组
        in  表示 是否在  ，可以用于 字符串，列表，元组，字典，集合
        not in 表示，是否不再，可以用于 字符串，列表，元组，字典，集合
            字典只能用于是否包含或者不包含这个键
"""
list1 = [1,2,3]
list2 = ['聂茹凤','韩耀祖','李腾']
print(list1 + list2)

print('aa' + 'bb' + 'cc')
print((1,2,3) + (3,2,1))

# print({1,2,3} + {3,4,5}) 报错，因为set的唯一性  所以不支持 +
# 字典要求 key 唯一，所以支持 +
# print({'name':'聂茹凤','age':18} + {'address':'北京市西城区','name':'谭鑫宇'})


print('-' * 30)
print('abc' * 30)
print([1,2,3] * 3)
print((1,2,3) * 3)
# print({1,2,3} * 3)  set元素唯一，所以不支持

print('=' * 30)

print('a' in 'abc')
print('a' in ['a','b','c'])
print('c' in ('a','b','c'))
print('a' in {'a','b','c'})
print('name' in {'name':'聂茹凤','age':18})
print('聂茹凤' in {'name':'聂茹凤','age':18}) # 字典 判断只能用key，不能使用value


print('$' * 30)

print('a' not in 'abc')
print('a' not in ['a','b','c'])
print('c' not in ('a','b','c'))
print('a' not in {'a','b','c'})
print('name' not in {'name':'聂茹凤','age':18})